select 
PARTITA_IVA,CODICE_FISCALE,RAGIONE_SOCIALE,
       codice_contratto,POD,CODICE_CENSIMENTO,
        CODICE_SAPR,
       DataDecorrenza "Data Decorrenza",
       dataScadenza "Data Scadenza",
        to_char(dt_inifot,'dd/mm/yyyy') "data inizio fotov.",
        to_char(dt_finefot,'dd/mm/yyyy') "data fine fotov.",
       --sum (nvl(opr,0)+nvl(accise,0) +case when partita_iva is null then iva else 0 end ) OPR,
       --sum (nvl(opr,0)+case when partita_iva is null then iva else 0 end ) OPR,
       sum (nvl(opr,0)) OPR,
        sum (nvl(tf,0))+sum(nvl(tp,0))+sum(nvl(tv,0)) TX,
        sum (nvl(tf,0)+nvl(tp,0)+nvl(tv,0)) T,
        sum(TF) TF,
       
        sum(TP) TP,
        sum(TV) TV,
        sum(accise) ACCISE,
        sum(IVAI) IVA,
        sum(energia_fatturata) "Energia Fatturata Totale",
        sum (ENERGIA_FATTURATA) "Energia Fatturata"
      
        
        
      
        FROM (
select rf.tfat_id, fox.PARTITA_IVA,
CASE WHEN fox.codice_fiscale IS NULL THEN fox.partita_iva ELSE fox.codice_fiscale END CODICE_FISCALE,
fox.RAGIONE_SOCIALE,
fox.codice_contratto,
fox.POD,
'' CODICE_CENSIMENTO,
fox.CODICE_SAPR,
to_char(co.CON_DTINIGES,'dd/mm/yyyy') DataDecorrenza,
to_char(co.VER_DTfine,'dd/mm/yyyy') dataScadenza,
rf.ver_dtini,rf.ver_dtfine,
fox.dt_inifot,fox.dt_finefot,
 rf.fatvoceot_imp *OP.opr OPR,
  rf.fatvoceot_imp *OP.TF + CASE WHEN RF.RVV_UMIDQTA1<>'kWh' THEN rf.fatvoceot_imp*OP.TKWH ELSE 0 END TF,
 
   rf.fatvoceot_imp *OP.TP TP, 
     rf.fatvoceot_imp*OP.TV+
     CASE WHEN RF.RVV_UMIDQTA1='kWh' THEN rf.fatvoceot_imp*OP.TKWH ELSE 0 END +NVL(sc.RFAT_IMP,0)   TV,
     
         rf.fatvoceot_imp *OP.AC ACCISE,
    rf.fatvoceot_imp * iva.iva_ali*OP.IVA/100 IVAI,
     rf.FATVOCEOT_QTA*op.qta energia_fatturata
        
 
from v_fatturar rf,conubifrn ub,fatturat ft,soggetto so ,contratto co,iva,
asm_fat_gse_scam_1 fox,ASM_FAT_GSE_SCAM_XLS OP,

(select ar.rfat_id,ar.rvv_voce_id,ROUND(SUM(ar.SCR_PU*ar.FATVOCEOT_QTA*OP1.TV),2) rfat_imp 
                                     from asm_fat_gse_scam_2 ar,ASM_FAT_GSE_SCAM_XLS OP1
                                           where ar.RVV_VOCE_ID = OP1.VOCE_ID 
                                                  and ar.VOCE_ID =SUB_VOCE_ID
                                                 
                                       
                                      
                                       group by ar.rfat_id,ar.rvv_voce_id) sc
where     ub.ser_id   ='03'
      and ub.az_id    ='01'
      and ub.cuf_id   = rf.cuf_id
      and ub.az_id    = rf.AZ_ID 
      and ft.AZ_ID    = rf.az_id
      and ft.TFAT_ID  = rf.TFAT_ID
      and so.AZ_ID    = rf.AZ_ID
      and so.SOG_ID   = ft.SOG_ID
     
      and sc.RFAT_ID(+) = rf.RFAT_ID
      and ub.CUF_ID   = fox.cuf_id    
      and co.con_anno = ub.con_anno
      and co.con_id = ub.con_id
      and co.az_id = so.az_id
      and rf.iva_id=iva.iva_id
      AND RF.AZ_ID=IVA.AZ_ID
      and rf.az_id=iva.az_id
      AND OP.VOCE_ID=RF.VOCE_ID
      AND OP.SUB_VOCE_ID=0
       and ft.fat_dt >= fox.DT_INIFOT
      and ft.fat_dt <=fox.DT_FINEFOT
      and ft.fat_anno=^ANNO DI Fatturazione aaaa;N;NUMERICO;3^^

      --and ft.fat_anno = ^Anno Fatturazione aaaa;N;NUMERICO^^
    
    
   --and rf.tfat_id = 355783
    --and ub.con_anno =  2009
    -- and ub.con_id   =   9018
 ---------------------------------   and ub.cuf_id   =  8598
   --and ft.fat_anno =  2009
    -- and ft.fat_num  = 17357
      
---------------------------------------------
----------------------------------------------
)
group by PARTITA_IVA,CODICE_FISCALE,RAGIONE_SOCIALE,
       codice_contratto,POD,CODICE_CENSIMENTO,
        CODICE_SAPR,DataDecorrenza,dataScadenza,
        dt_inifot,dt_finefot